import type { BasicUserInfo } from '@vben-core/typings';
import type { Dayjs } from 'dayjs';

import type { PageParam, TenantModel } from './base_beans';

/** 用户信息 */
interface SysUserBase extends BasicUserInfo, TenantModel {
  email?: string;
  phone?: string;
  sex?: number;
  user_type?: string;
  last_login_time?: string;
  login_ip?: string;
  dept_ids?: Array<string>;
  post_ids?: Array<string>;
}

interface SysUserReq extends SysUserBase, PageParam {
  create_time_range?: [Dayjs, Dayjs] | [string, string];
  update_time_range?: [Dayjs, Dayjs] | [string, string];
  role_ids?: Array<string>;
}

interface SysUserResp extends SysUserBase {
  role_ids?: Array<string>;
  dept_id?: string;
  dept_name?: string;
  dept_pid?: string;
}

export type { SysUserBase, SysUserReq, SysUserResp };
